package com.xuecheng.base.util;

import cn.hutool.core.io.FileTypeUtil;
import com.j256.simplemagic.ContentInfoUtil;
import com.j256.simplemagic.ContentType;
import com.xuecheng.base.constant.MediaTypeConstant;
import org.springframework.web.multipart.MultipartFile;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;

/**
 * @author 勾新杰
 * @version 1.0
 * @description 媒体类型工具类
 * @date 2025/1/22 19:54
 */
public class MediaTypeUtil {

    /**
     * 根据文件类型获取媒体类型
     * @param file 文件
     * @return 媒体类型
     */
    public static String getMediaType(MultipartFile file) {
        String contentType = file.getContentType();
        return getMediaType(contentType);
    }

    /**
     * 根据媒体类型获取媒体类型
     * @param contentType 媒体类型
     * @return 媒体类型
     */
    public static String getMediaType(String contentType) {
        if (contentType == null) return MediaTypeConstant.MEDIA_TYPE_OTHER;
        if (contentType.startsWith("image/")) return MediaTypeConstant.MEDIA_TYPE_IMAGE;
        else if (contentType.startsWith("video/")) return MediaTypeConstant.MEDIA_TYPE_VIDEO;
        else return MediaTypeConstant.MEDIA_TYPE_OTHER;
    }
}
